<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <script>
    function SuperClass(){
    	this.books=['JavaScript','html','css'];
    }
    function SubClass(){};
    	SubClass.prototype=new SuperClass();
    	var instance1=new SubClass();
    	var instance2=new SubClass();
    	console.log(instance2.books);
    	instance1.books.push("设计模式");
    	console.log(instance2.books);
    //缺点：由于子类通过其原型prototype对父类实例化，继承了父类，因此父类的共有属性要是引用类型，就会子类中被所有实例共用
    //因此一个子类的实例更改了子类原型从父类构造函数中继承来的共有属性就会直接影响到其他子类
    //
    //由于子类实现继承是通过prototype对父类的实例化实现的，因此在创建父类的时候，是无法向父类传递参数的，因而在实例化父类的时候也无法对父类构造函数内的属性进行初始化
    </script>
    </body>
</html>